GtkEventControllerPrivate *priv = gtk_event_controller_get_instance_private (self);
priv->widget = widget;
+ priv->responsive = gtk_widget_get_sensitive (widget);
}
static void
priv->widget = NULL;
}
+static gboolean
+gtk_event_controller_filter_event_default (GtkEventController *self,
+ const GdkEvent *event)
+{
+ GtkEventControllerPrivate *priv = gtk_event_controller_get_instance_private (self);
+
+ if (priv->widget)
+ return !gtk_widget_get_sensitive (priv->widget);
+
+ return FALSE;
+}
+
static gboolean
gtk_event_controller_handle_event_default (GtkEventController *self,
const GdkEvent *event)
klass->set_widget = gtk_event_controller_set_widget;
klass->unset_widget = gtk_event_controller_unset_widget;
- klass->filter_event = gtk_event_controller_handle_event_default;
+ klass->filter_event = gtk_event_controller_filter_event_default;
klass->handle_event = gtk_event_controller_handle_event_default;
object_class->set_property = gtk_event_controller_set_property;